1300
Is it possible to cancel or discard the values during validation
// ValidateValue event - Occurs before user changes the cell's value.
void onEvent_ValidateValue(int   _Item,int   _ColIndex,COMVariant   _NewValue,COMVariant /*bool*/   _Cancel)
{
	;
	print( "ValidateValue" );
	print( _NewValue );
	print( "Change the Cancel parameter for ValidateValue event to accept/decline the newly value. " );
	print( "The DiscardValidateValue restores back the previously values." );
	exg2antt1.DiscardValidateValue();
}

public void init()
{
	COM com_Editor,com_Items;
	anytype var_Editor,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.CauseValidateValue(-1/*exValidateCell*/);
	var_Editor = COM::createFromObject(COM::createFromVariant(exg2antt1.Columns().Add("Date"))).Editor(); com_Editor = var_Editor;
	com_Editor.EditType(7/*DateType*/);
	var_Editor = COM::createFromObject(COM::createFromVariant(exg2antt1.Columns().Add("Text"))).Editor(); com_Editor = var_Editor;
	com_Editor.EditType(1/*EditType*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1299
Is it possible to validate the values of the cells only when user leaves the focused item
// ValidateValue event - Occurs before user changes the cell's value.
void onEvent_ValidateValue(int   _Item,int   _ColIndex,COMVariant   _NewValue,COMVariant /*bool*/   _Cancel)
{
	;
	print( "ValidateValue" );
	print( _NewValue );
	print( "Change the Cancel parameter for ValidateValue event to accept/decline the newly value. " );
	_Cancel = true;
	print( "You can not leave the item/record until the Cancel is False." );
}

public void init()
{
	COM com_Editor,com_Items;
	anytype var_Editor,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.CauseValidateValue(1/*exValidateItem*/);
	var_Editor = COM::createFromObject(COM::createFromVariant(exg2antt1.Columns().Add("Date"))).Editor(); com_Editor = var_Editor;
	com_Editor.EditType(7/*DateType*/);
	var_Editor = COM::createFromObject(COM::createFromVariant(exg2antt1.Columns().Add("Text"))).Editor(); com_Editor = var_Editor;
	com_Editor.EditType(1/*EditType*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1298
We would like to validate the values of the cells. Is it possible
// ValidateValue event - Occurs before user changes the cell's value.
void onEvent_ValidateValue(int   _Item,int   _ColIndex,COMVariant   _NewValue,COMVariant /*bool*/   _Cancel)
{
	;
	print( "ValidateValue" );
	print( _NewValue );
	print( "Change the Cancel parameter for ValidateValue event to accept/decline the newly value." );
	_Cancel = true;
	print( "You can not leave the cell until the Cancel is False." );
}

public void init()
{
	COM com_Editor,com_Items;
	anytype var_Editor,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.CauseValidateValue(-1/*exValidateCell*/);
	var_Editor = COM::createFromObject(COM::createFromVariant(exg2antt1.Columns().Add("Date"))).Editor(); com_Editor = var_Editor;
	com_Editor.EditType(7/*DateType*/);
	var_Editor = COM::createFromObject(COM::createFromVariant(exg2antt1.Columns().Add("Text"))).Editor(); com_Editor = var_Editor;
	com_Editor.EditType(1/*EditType*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213))),COMVariant::createFromInt(1),"text");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1297
Is there any way to add auto-numbering
public void init()
{
	COM com_Column,com_Columns,com_Items;
	anytype var_Column,var_Columns,var_Items;
	;

	super();

	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Items");
		var_Column = COM::createFromVariant(com_Columns.Add("Pos")); com_Column = var_Column;
			com_Column.FormatColumn("1 pos ''");
			com_Column.Position(0);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item 1");
		com_Items.AddItem("Item 2");
		com_Items.AddItem("Item 3");
}
1296
How can I format my column to display the percent values “5,00%”
public void init()
{
	COM com_Items;
	anytype var_Items;
	;

	super();

	COM::createFromVariant(exg2antt1.Columns().Add("Percent")).FormatColumn("((dbl(value) * 100) format '2|,|3.')+'%'");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem(COMVariant::createFromReal(0.5));
		com_Items.AddItem(COMVariant::createFromReal(0.4));
		com_Items.AddItem(COMVariant::createFromReal(0.75));
}
1295
I can't control bar's transparency if the bar is overlaid. What can be done

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.Columns().Add("Task");
	exg2antt1.DrawGridLines(1/*exHLines*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(1/*exHLines*/);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.AllowLinkBars(false);
		com_Chart.ResizeUnitScale(65536/*exHour*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(515/*exOverlaidBarsStackAutoArrange | exOverlaidBarsStack*/);
			com_Bar.Overlaid(256/*exOverlaidBarsTransparent*/,COMVariant::createFromInt(0));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1");
		com_Items.ItemBar(h,"A1",19/*exBarTransparent*/,COMVariant::createFromInt(80));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A3");
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/7/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"A1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"A3");
		com_Items.ItemBar(h,"A3",19/*exBarTransparent*/,COMVariant::createFromInt(50));
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1294
How can I show the child items with no identation

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.LinesAtRoot(5/*exGroupLinesOutside*/);
	exg2antt1.Indent(12);
	exg2antt1.HasLines(2/*exThinLine*/);
	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.InsertItem(h,,"Child 3");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.InsertItem(h,,"Child 3");
}
1293
Is there other ways of showing the hierarchy lines (exGroupLinesAtRoot)

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.LinesAtRoot(1/*exGroupLinesAtRoot*/);
	exg2antt1.Indent(12);
	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.InsertItem(h,,"Child 3");
		com_Items.ExpandItem(h,true);
}
1292
Is there other ways of showing the hierarchy lines (exGroupLinesOutside)

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.LinesAtRoot(5/*exGroupLinesOutside*/);
	exg2antt1.Indent(12);
	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.InsertItem(h,,"Child 3");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.InsertItem(h,,"Child 3");
}
1291
Is there other ways of showing the hierarchy lines (exGroupLinesInsideLeaf)

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.LinesAtRoot(4/*exGroupLinesInsideLeaf*/);
	exg2antt1.Indent(12);
	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.InsertItem(h,,"Child 3");
		com_Items.ExpandItem(h,true);
}
1290
Is there other ways of showing the hierarchy lines (exGroupLinesInside)

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.LinesAtRoot(3/*exGroupLinesInside*/);
	exg2antt1.Indent(12);
	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.InsertItem(h,,"Child 3");
		com_Items.ExpandItem(h,true);
}
1289
Is there other ways of showing the hierarchy lines (exGroupLines)

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.LinesAtRoot(2/*exGroupLines*/);
	exg2antt1.Indent(12);
	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(com_Items.InsertItem(h,,"Child 2"),,"SubChild 2");
		com_Items.InsertItem(h,,"Child 3");
		com_Items.ExpandItem(h,true);
}
1288
How can I specify non-working dates for any year, as a repetitive expression for instance

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AdjustLevelsToBase(true);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/24/2010",213)));
		com_Chart.FirstWeekDay(1/*exMonday*/);
		com_Chart.LevelCount(2);
		com_Chart.NonworkingDays(0);
		com_Chart.AddNonworkingDate("shortdateF(value) left 5 in ('01/01','01/06','04/25','05/01','06/02','08/15','11/01','12/08','12/25','12/26')");
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1287
Is it possible to specify the Easter and a day after as being non-working
public void init()
{
	COM com_Chart;
	anytype var_Chart;
	str var_s;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AdjustLevelsToBase(true);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("4/14/2011",213)));
		com_Chart.FirstWeekDay(1/*exMonday*/);
		com_Chart.LevelCount(2);
		com_Chart.NonworkingDays(0);
		var_s = "not(month(value) in (3,4,5)) ? 0 : ( floor(value)=(2:=floor(date(dateS('3/1/' + year(value)) + ((1:=(((255 - 11 * (year(value) m";
		var_s = var_s + "od 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((year(value) + int(year(value) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) m";
		var_s = var_s + "od 7)))) or (floor(value)= =:2 + 1))";
		com_Chart.AddNonworkingDate(COMVariant::createFromStr(var_s));
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1286
Here's a simple sample to compute the Easter day
public void init()
{
	COM com_Editor,com_Items;
	anytype var_Editor,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_Editor = COM::createFromVariant(exg2antt1.Columns().Add("Year")).Editor(); com_Editor = var_Editor;
		com_Editor.EditType(4/*SpinType*/);
		com_Editor.Numeric(-1/*exInteger*/);
	var_s = "date(dateS('3/1/' + int(%0)) + ((1:=(((255 - 11 * (int(%0) mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((int(%0) + ";
	var_s = var_s + "int(int(%0) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7))";
	COM::createFromVariant(exg2antt1.Columns().Add("Easter")).ComputedField(var_s);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem(COMVariant::createFromInt(2008));
		com_Items.AddItem(COMVariant::createFromInt(2009));
		com_Items.AddItem(COMVariant::createFromInt(2010));
		com_Items.AddItem(COMVariant::createFromInt(2011));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1285
How do I specify the Easter or holydays as non-working
public void init()
{
	COM com_Chart;
	anytype var_Chart;
	str var_s;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AdjustLevelsToBase(true);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("4/14/2011",213)));
		com_Chart.FirstWeekDay(1/*exMonday*/);
		com_Chart.LevelCount(2);
		com_Chart.NonworkingDays(0);
		com_Chart.AddNonworkingDate("month(value) = 7");
		var_s = "not(month(value) in (3,4)) ? 0 : ( floor(value)=floor(date(dateS('3/1/' + year(value)) + ((1:=(((255 - 11 * (year(value) mod 19)";
		var_s = var_s + ") - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((year(value) + int(year(value) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7))";
		var_s = var_s + "))";
		com_Chart.AddNonworkingDate(COMVariant::createFromStr(var_s));
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1284
Is it possible to add a repetitive expression to define non-working dates
public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		com_Chart.FirstWeekDay(1/*exMonday*/);
		com_Chart.LevelCount(2);
		com_Chart.AddNonworkingDate(COMVariant::createFromDate(str2Date("1/13/2010",213)));
		com_Chart.AddNonworkingDate("month(value) = 1 and (day(value) in (1,6))");
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1283
How do I get the Easter date
public void init()
{
	COM com_Items;
	anytype var_Items;
	str var_s;
	;

	super();

	var_s = "date(dateS('3/1/' + year(value))  + ((1:=(((255 - 11 * (year(value) mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((y";
	var_s = var_s + "ear(value) + int(year(value) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7))";
	COM::createFromVariant(exg2antt1.Columns().Add("Easter")).FormatColumn(var_s);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/1989",213)));
		com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2002",213)));
		com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2003",213)));
		com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2010",213)));
}
1282
How can I calculate the number of visible units
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void onEvent_Click()
{
	COM com_Chart;
	anytype var_Chart;
	;
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		print( "UnitCount:" );
		print( com_Chart.CountVisibleUnits(com_Chart.DateFromPoint(0,-1),com_Chart.DateFromPoint(1,-1)) );
}

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		com_Chart.LevelCount(2);
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1281
Is it possible to specify the nonworking up to minutes and I can see when using the inside zoom feature

public void init()
{
	COM com_Bar,com_Chart,com_InsideZoomFormat,com_InsideZooms,com_Items,com_Level;
	anytype var_Bar,var_Chart,var_InsideZoomFormat,var_InsideZooms,var_Items,var_Level;
	int h;
	str var_s,var_s1;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Add("Task:Split"); com_Bar = var_Bar;
	com_Bar.Shortcut("Task");
	exg2antt1.DrawGridLines(1/*exHLines*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(-1/*exAllLines*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.LevelCount(3);
		com_Chart.UnitScale(65536/*exHour*/);
		com_Chart.UnitWidth(16);
		com_Chart.DrawLevelSeparator(false);
		var_Level = com_Chart.Level(2); com_Level = var_Level;
			com_Level.Unit(1048576/*exMinute*/);
			com_Level.Count(60);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.ResizeUnitScale(1048576/*exMinute*/);
		com_Chart.ResizeUnitCount(15);
		com_Chart.AllowInsideZoom(true);
		var_InsideZoomFormat = com_Chart.DefaultInsideZoomFormat(); com_InsideZoomFormat = var_InsideZoomFormat;
			com_InsideZoomFormat.InsideUnit(1048576/*exMinute*/);
			com_InsideZoomFormat.InsideCount(15);
			com_InsideZoomFormat.InsideLabel("<%nn%>");
			com_InsideZoomFormat.OwnerLabel("Hour: <b><%h%>");
			com_InsideZoomFormat.DrawGridLines(true);
		var_InsideZooms = COM::createFromObject(com_Chart.InsideZooms()); com_InsideZooms = var_InsideZooms;
		com_InsideZooms.Add(COMVariant::createFromUtcDateTime(str2Datetime("1/1/2010 12:00:00",213)));
		var_InsideZooms = COM::createFromObject(com_Chart.InsideZooms()); com_InsideZooms = var_InsideZooms;
		com_InsideZooms.Add(COMVariant::createFromUtcDateTime(str2Datetime("1/1/2010 13:00:00",213)));
		com_Chart.FirstVisibleDate(COMVariant::createFromUtcDateTime(str2Datetime("1/1/2010 9:00:00",213)));
	COM::createFromVariant(exg2antt1.Columns().Add("Non-Working")).Def(16/*exCellSingleLine*/,COMVariant::createFromBoolean(false));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("12:30 to 14:00 Monday to Thursday, 12:30 to 13:30 on Friday");
		var_s = "weekday(value) case (default:((timeF(value)>=\"12:30:00\" and timeF(value) <=\"14:00:00\" ));5:( timeF(value)>=\"12:30:00\" and timeF(";
		var_s = var_s + "value) <=\"13:30:00\" );6:1;0:1) ";
		com_Items.ItemNonworkingUnits(h,COMVariant::createFromBoolean(false),var_s);
		h = com_Items.AddItem("10:45 to 13:45 Monday to Thursday, 10:45 to 14:30 on Friday");
		var_s1 = "weekday(value) case (default:((timeF(value)>=\"10:45:00\" and timeF(value) <=\"13:45:00\" ));5:( timeF(value)>=\"10:45:00\" and timeF(";
		var_s1 = var_s1 + "value) <=\"14:30:00\" );6:1;0:1) ";
		com_Items.ItemNonworkingUnits(h,COMVariant::createFromBoolean(false),var_s1);
		h = com_Items.AddItem("2:30 to 9:30 on Friday, Saturday and Sunday");
		com_Items.ItemNonworkingUnits(h,COMVariant::createFromBoolean(false),"weekday(value) case (default:((timeF(value)>=\"02:30:00\" and timeF(value) <=\"09:30:00\" ));1:0;2:0;3:0;4:0) ");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1280
Is it possible to show the non-working units up to minutes

public void init()
{
	COM com_Bar,com_Chart,com_Items,com_Level;
	anytype var_Bar,var_Chart,var_Items,var_Level;
	int h;
	str var_s,var_s1;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Add("Task:Split"); com_Bar = var_Bar;
	com_Bar.Shortcut("Task");
	exg2antt1.DrawGridLines(1/*exHLines*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(1/*exHLines*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		com_Chart.LevelCount(2);
		com_Chart.UnitScale(65536/*exHour*/);
		com_Chart.UnitWidth(16);
		com_Chart.DrawLevelSeparator(false);
		var_Level = com_Chart.Level(1); com_Level = var_Level;
			com_Level.Unit(1048576/*exMinute*/);
			com_Level.Count(60);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.ResizeUnitScale(1048576/*exMinute*/);
		com_Chart.ResizeUnitCount(15);
	COM::createFromVariant(exg2antt1.Columns().Add("Non-Working")).Def(16/*exCellSingleLine*/,COMVariant::createFromBoolean(false));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("12:30 to 14:00 Monday to Thursday, 12:30 to 13:30 on Friday");
		var_s = "weekday(value) case (default:((timeF(value)>=\"12:30:00\" and timeF(value) <=\"14:00:00\" ));5:( timeF(value)>=\"12:30:00\" and timeF(";
		var_s = var_s + "value) <=\"13:30:00\" );6:1;0:1) ";
		com_Items.ItemNonworkingUnits(h,COMVariant::createFromBoolean(false),var_s);
		h = com_Items.AddItem("10:45 to 13:45 Monday to Thursday, 10:45 to 14:30 on Friday");
		var_s1 = "weekday(value) case (default:((timeF(value)>=\"10:45:00\" and timeF(value) <=\"13:45:00\" ));5:( timeF(value)>=\"10:45:00\" and timeF(";
		var_s1 = var_s1 + "value) <=\"14:30:00\" );6:1;0:1) ";
		com_Items.ItemNonworkingUnits(h,COMVariant::createFromBoolean(false),var_s1);
		h = com_Items.AddItem("2:30 to 9:30 on Friday, Saturday and Sunday");
		com_Items.ItemNonworkingUnits(h,COMVariant::createFromBoolean(false),"weekday(value) case (default:((timeF(value)>=\"02:30:00\" and timeF(value) <=\"09:30:00\" ));1:0;2:0;3:0;4:0) ");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1279
Is it possible to define several type of progress bars

public void init()
{
	COM com_Bar,com_Bar1,com_Bar2,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bar1,var_Bar2,var_Bars,var_Chart,var_Items;
	int h,h1,h2,h3;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	COM::createFromVariant(exg2antt1.Columns().Add("Start")).Visible(false);
	COM::createFromVariant(exg2antt1.Columns().Add("End")).Visible(false);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,64);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Copy("Progress","ProgressT"); com_Bar = var_Bar;
			com_Bar.Color(WinApi::RGB2int(255,0,0));
			com_Bar.Shape(1/*exShapeSolid*/);
			com_Bar.Height(7);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar1 = COM::createFromObject(com_Bars).Add("Task%ProgressT:Split"); com_Bar1 = var_Bar1;
		com_Bar1.Shortcut("Task");
		var_Bar1 = COM::createFromObject(com_Chart.Bars()).Item("Progress"); com_Bar1 = var_Bar1;
			com_Bar1.Color(WinApi::RGB2int(0,0,255));
			com_Bar1.Shape(2/*exShapeSolidUp*/);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar2 = COM::createFromObject(com_Bars).Add("Summary%Progress"); com_Bar2 = var_Bar2;
		com_Bar2.Shortcut("Summary");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		com_Items.ItemHeight(h,16);
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromDate(str2Date("9/21/2006",213)));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromDate(str2Date("10/3/2006",213)));
		com_Items.AddBar(h,"Summary",com_Items.CellValue(h,COMVariant::createFromInt(1)),com_Items.CellValue(h,COMVariant::createFromInt(2)),"sum");
		com_Items.ItemBar(h,"sum",12/*exBarPercent*/,COMVariant::createFromReal(0.4));
		com_Items.ItemBar(h,"sum",14/*exBarShowPercentCaption*/,COMVariant::createFromBoolean(true));
		h1 = com_Items.InsertItem(h,,"Task 1");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),com_Items.CellValue(h,COMVariant::createFromInt(1)));
		com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromDate(str2Date("9/27/2006",213)));
		com_Items.AddBar(h1,"Task",com_Items.CellValue(h1,COMVariant::createFromInt(1)),com_Items.CellValue(h1,COMVariant::createFromInt(2)),"K1");
		com_Items.ItemBar(h1,"K1",12/*exBarPercent*/,COMVariant::createFromReal(0.6));
		com_Items.ItemBar(h1,"K1",14/*exBarShowPercentCaption*/,COMVariant::createFromBoolean(true));
		h2 = com_Items.InsertItem(h,,"Task 2");
		com_Items.CellValue(h2,COMVariant::createFromInt(1),com_Items.CellValue(h1,COMVariant::createFromInt(2)));
		com_Items.CellValue(h2,COMVariant::createFromInt(2),COMVariant::createFromDate(str2Date("9/28/2006",213)));
		com_Items.AddBar(h2,"Unknown",com_Items.CellValue(h2,COMVariant::createFromInt(1)),com_Items.CellValue(h2,COMVariant::createFromInt(2)),"K2");
		com_Items.AddLink("L1",h1,"K1",h2,"K2");
		h3 = com_Items.InsertItem(h,,"Task 3");
		com_Items.CellValue(h3,COMVariant::createFromInt(1),com_Items.CellValue(h2,COMVariant::createFromInt(2)));
		com_Items.CellValue(h3,COMVariant::createFromInt(2),com_Items.CellValue(h,COMVariant::createFromInt(2)));
		com_Items.AddBar(h3,"Task",com_Items.CellValue(h3,COMVariant::createFromInt(1)),com_Items.CellValue(h3,COMVariant::createFromInt(2)),"K3");
		com_Items.ItemBar(h3,"K3",12/*exBarPercent*/,COMVariant::createFromReal(0.65));
		com_Items.ItemBar(h3,"K3",14/*exBarShowPercentCaption*/,COMVariant::createFromBoolean(true));
		com_Items.ItemBar(h3,"K3",39/*exBarPercentColor*/,COMVariant::createFromInt(32768));
		com_Items.AddLink("L2",h2,"K2",h3,"K3");
		com_Items.GroupBars(h1,"K1",false,h2,"K2",true,COMVariant::createFromInt(31),"0;4");
		com_Items.GroupBars(h2,"K2",false,h3,"K3",true,COMVariant::createFromInt(31),"0;2");
		com_Items.DefineSummaryBars(h,"sum",h1,"K1");
		com_Items.DefineSummaryBars(h,"sum",h2,"K2");
		com_Items.DefineSummaryBars(h,"sum",h3,"K3");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBold(h,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,64);
}
*/
1278
Is it possible to display the percent bar over the summary bar

public void init()
{
	COM com_Bar,com_Bar1,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bar1,var_Bars,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Progress"); com_Bar = var_Bar;
			com_Bar.Color(WinApi::RGB2int(0,0,255));
			com_Bar.Shape(2/*exShapeSolidUp*/);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar1 = COM::createFromObject(com_Bars).Add("Summary%Progress"); com_Bar1 = var_Bar1;
		com_Bar1.Shortcut("SummaryP");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Summary");
		com_Items.AddBar(h,"SummaryP",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",12/*exBarPercent*/,COMVariant::createFromReal(0.4));
		com_Items.ItemBar(h,"K1",14/*exBarShowPercentCaption*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1277
How can I display the percent value in the lower side of the bar

public void init()
{
	COM com_Bar,com_Bar1,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bar1,var_Bars,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Progress"); com_Bar = var_Bar;
			com_Bar.Shape(1/*exShapeSolid*/);
			com_Bar.Height(7);
			com_Bar.Color(WinApi::RGB2int(0,0,255));
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar1 = COM::createFromObject(com_Bars).Add("Task%Progress"); com_Bar1 = var_Bar1;
		com_Bar1.Shortcut("Percent");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Percent",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",12/*exBarPercent*/,COMVariant::createFromReal(0.5));
		com_Items.ItemBar(h,"K1",14/*exBarShowPercentCaption*/,COMVariant::createFromBoolean(true));
		com_Items.ItemBar(h,"K1",43/*exBarVAlignPercent*/,COMVariant::createFromInt(2));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Percent",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/9/2001",213)),"K2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1276
Is it possible to change the percent's height

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Progress"); com_Bar = var_Bar;
			com_Bar.Shape(1/*exShapeSolid*/);
			com_Bar.Height(7);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		com_Bars.Add("Task%Progress");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task%Progress",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",12/*exBarPercent*/,COMVariant::createFromReal(0.5));
		com_Items.ItemBar(h,"K1",14/*exBarShowPercentCaption*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1275
How can I change the pattern for the percent bar

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Progress"); com_Bar = var_Bar;
			com_Bar.Pattern(6/*exPatternBDiagonal*/);
			com_Bar.Shape(1/*exShapeSolid*/);
			com_Bar.Color(WinApi::RGB2int(196,0,0));
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		com_Bars.Add("Task%Progress");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task%Progress",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",12/*exBarPercent*/,COMVariant::createFromReal(0.4));
		com_Items.ItemBar(h,"K1",14/*exBarShowPercentCaption*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1274
How can I change the look for the percent bar using EBN

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.VisualAppearance().Add(1,"c:\\exontrol\\images\\hot.ebn");
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Progress"); com_Bar = var_Bar;
			com_Bar.Color(0x1000000);
			com_Bar.Shape(1/*exShapeSolid*/);
			com_Bar.Height(7);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		com_Bars.Add("Task%Progress");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task%Progress",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",12/*exBarPercent*/,COMVariant::createFromReal(0.4));
	exg2antt1.EndUpdate();
}
1273
Is it possible to align the percent bar to the bottom of the bar

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(32);
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Height(28);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Task%Progress"); com_Bar = var_Bar;
		com_Bar.Shortcut("Percent");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Percent",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/14/2001",213)),"K1","text inside");
		com_Items.ItemBar(h,"K1",5/*exBarVAlignCaption*/,COMVariant::createFromInt(0));
		com_Items.ItemBar(h,"K1",12/*exBarPercent*/,COMVariant::createFromReal(0.75));
		com_Items.ItemBar(h,"K1",14/*exBarShowPercentCaption*/,COMVariant::createFromBoolean(true));
		com_Items.ItemBar(h,"K1",13/*exBarPercentCaptionFormat*/,"%p%");
		com_Items.ItemBar(h,"K1",43/*exBarVAlignPercent*/,COMVariant::createFromInt(2));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1272
Is it possible to show the percent on the bottom side of the bar, so I can leave the text upside

public void init()
{
	COM com_Bar,com_Bar1,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bar1,var_Bars,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(32);
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bars = com_Chart.Bars(); com_Bars = var_Bars;
			var_Bar = COM::createFromObject(com_Bars.Item("Task")); com_Bar = var_Bar;
			com_Bar.Height(28);
			var_Bar = com_Bars.Item("Progress"); com_Bar = var_Bar;
				com_Bar.Shape(20/*exShapeThinDown*/);
				com_Bar.Height(20);
				com_Bar.Color(WinApi::RGB2int(0,0,255));
			var_Bar1 = COM::createFromObject(com_Bars.Add("Task%Progress")); com_Bar1 = var_Bar1;
			com_Bar1.Shortcut("Percent");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Percent",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/14/2001",213)),"K1","text inside");
		com_Items.ItemBar(h,"K1",5/*exBarVAlignCaption*/,COMVariant::createFromInt(0));
		com_Items.ItemBar(h,"K1",12/*exBarPercent*/,COMVariant::createFromReal(0.75));
		com_Items.ItemBar(h,"K1",14/*exBarShowPercentCaption*/,COMVariant::createFromBoolean(true));
		com_Items.ItemBar(h,"K1",13/*exBarPercentCaptionFormat*/,"<br>%p%");
		com_Items.ItemBar(h,"K1",15/*exBarAlignPercentCaption*/,COMVariant::createFromInt(1));
		com_Items.ItemBar(h,"K1",16/*exBarCanResizePercent*/,COMVariant::createFromBoolean(false));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1271
Is it possible to assign a multiple lines labels/captions to a bar

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.Columns().Add("Task");
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.ItemHeight(h,32);
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",3/*exBarCaption*/,"Line1<br>Line2");
}
1270
Does your control supports multiple lines tooltip
public void init()
{
	str var_s;
	;

	super();

	exg2antt1.HTMLPicture("pic1","c:\\exontrol\\images\\zipdisk.gif");
	exg2antt1.ToolTipDelay(1);
	var_s = "<font Tahoma;20>This</font> is a <b>multi-lines</b> tooltip assigned to a column. The tooltip supports built-in HTML tags, icons";
	var_s = var_s + " and pictures.<br><img>pic1</img> picture ...";
	COM::createFromVariant(exg2antt1.Columns().Add("tootip")).ToolTip(var_s);
}
1269
It is possible to write the word in red/color or to add a tooltip or a link to the word

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/26/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,32);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"",COMVariant::createFromDate(str2Date("1/1/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"K1","some <fgcolor=FF0000>red</fgcolor> text");
		com_Items.ItemBar(h1,"K1",10/*exBarCanResize*/,COMVariant::createFromBoolean(false));
		com_Items.ItemBar(h1,"K1",6/*exBarToolTip*/,"And here goes the <b>tooltip</b> of the text. ");
		com_Items.AddItem("");
		com_Items.AddItem("");
		com_Items.AddItem("");
		com_Items.AddItem("");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"K2");
		com_Items.ItemBar(h2,"K2",6/*exBarToolTip*/,"And here goes the <b>tooltip</b> of the bar. ");
		com_Items.AddLink("L1",h1,"K1",h2,"K2");
		com_Items.Link("L1",12/*exLinkText*/,"L<b>inke</b>d to a bar");
		com_Items.Link("L1",13/*exLinkToolTip*/,"And here goes the <b>tooltip</b> of the link. ");
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,32);
}
*/
1268
It is possible to use seconds/minutes/hours as time scale in your control, but using my regional settings

public void init()
{
	COM com_Chart,com_Chart1,com_Level;
	anytype var_Chart,var_Chart1,var_Level;
	str var_s,var_s1,var_s2,var_s3;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.Label(16/*exMonth*/,"<|><%loc_m1%><|><%loc_m2%><|><%loc_m3%><|><%loc_mmmm%><|><%loc_m3%> '<%yy%><|><%loc_mmmm%> <%yyyy%>");
		com_Chart.Label(256/*exWeek*/,"<|><%ww%><|><%loc_m3%> <%d%>, '<%yy%><r><%ww%><|><%loc_mmmm%> <%d%>, <%yyyy%><r><%ww%><||><||>256");
		var_s = "<|><%loc_d1%><|><%loc_d2%><|><%loc_d3%><|><%loc_dddd%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%><|><%loc_dddd%>, <%loc_mmmm%> <%d%";
		var_s = var_s + ">, <%yyyy%><||><||>4096";
		com_Chart.Label(4096/*exDay*/,var_s);
		var_s1 = "<|><%hh%><|><%h%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%>";
		var_s1 = var_s1 + " <%h%> <%AM/PM%><||><||>65536";
		com_Chart.Label(65536/*exHour*/,var_s1);
		var_s2 = "<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%loc_dddd%>, <%loc_mmmm%> <";
		var_s2 = var_s2 + "%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%>";
		com_Chart.Label(1048576/*exMinute*/,var_s2);
		var_s3 = "<|><%ss%><|><%nn%>:<%ss%><|><%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%><";
		var_s3 = var_s3 + "|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>";
		com_Chart.Label(16777216/*exSecond*/,var_s3);
		com_Chart.LabelToolTip(16/*exMonth*/,"<%loc_mmmm%>/<%yyyy%>");
		com_Chart.LabelToolTip(256/*exWeek*/,"<%loc_mmmm%> <%d%>, <%yyyy%> <%ww%>");
		com_Chart.LabelToolTip(4096/*exDay*/,"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%>");
		com_Chart.LabelToolTip(65536/*exHour*/,"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%> <%AM/PM%>");
		com_Chart.LabelToolTip(1048576/*exMinute*/,"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%>");
		com_Chart.LabelToolTip(16777216/*exSecond*/,"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>");
	var_Chart1 = exg2antt1.Chart(); com_Chart1 = var_Chart1;
	/*should be called during the form's activate method*/ 	com_Chart1.PaneWidth(false,0);
		com_Chart1.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Chart1.LevelCount(4);
		var_Level = COM::createFromObject(com_Chart1.Level(0)); com_Level = var_Level;
		com_Level.Label(COMVariant::createFromInt(4096));
		var_Level = COM::createFromObject(com_Chart1.Level(1)); com_Level = var_Level;
		com_Level.Label(COMVariant::createFromInt(65536));
		var_Level = COM::createFromObject(com_Chart1.Level(2)); com_Level = var_Level;
		com_Level.Label(COMVariant::createFromInt(1048576));
		var_Level = com_Chart1.Level(3); com_Level = var_Level;
			com_Level.Count(15);
			com_Level.Label(COMVariant::createFromInt(16777216));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1267
The chart's header is displayed in English. Can I change so it is the same as in my regional settings

public void init()
{
	COM com_Chart,com_Chart1;
	anytype var_Chart,var_Chart1;
	str var_s,var_s1,var_s2,var_s3;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.Label(16/*exMonth*/,"<|><%loc_m1%><|><%loc_m2%><|><%loc_m3%><|><%loc_mmmm%><|><%loc_m3%> '<%yy%><|><%loc_mmmm%> <%yyyy%>");
		com_Chart.Label(256/*exWeek*/,"<|><%ww%><|><%loc_m3%> <%d%>, '<%yy%><r><%ww%><|><%loc_mmmm%> <%d%>, <%yyyy%><r><%ww%><||><||>256");
		var_s = "<|><%loc_d1%><|><%loc_d2%><|><%loc_d3%><|><%loc_dddd%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%><|><%loc_dddd%>, <%loc_mmmm%> <%d%";
		var_s = var_s + ">, <%yyyy%><||><||>4096";
		com_Chart.Label(4096/*exDay*/,var_s);
		var_s1 = "<|><%hh%><|><%h%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%>";
		var_s1 = var_s1 + " <%h%> <%AM/PM%><||><||>65536";
		com_Chart.Label(65536/*exHour*/,var_s1);
		var_s2 = "<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%loc_dddd%>, <%loc_mmmm%> <";
		var_s2 = var_s2 + "%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%>";
		com_Chart.Label(1048576/*exMinute*/,var_s2);
		var_s3 = "<|><%ss%><|><%nn%>:<%ss%><|><%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%><";
		var_s3 = var_s3 + "|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>";
		com_Chart.Label(16777216/*exSecond*/,var_s3);
		com_Chart.LabelToolTip(16/*exMonth*/,"<%loc_mmmm%>/<%yyyy%>");
		com_Chart.LabelToolTip(256/*exWeek*/,"<%loc_mmmm%> <%d%>, <%yyyy%> <%ww%>");
		com_Chart.LabelToolTip(4096/*exDay*/,"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%>");
		com_Chart.LabelToolTip(65536/*exHour*/,"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%> <%AM/PM%>");
		com_Chart.LabelToolTip(1048576/*exMinute*/,"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%>");
		com_Chart.LabelToolTip(16777216/*exSecond*/,"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>");
	var_Chart1 = exg2antt1.Chart(); com_Chart1 = var_Chart1;
	/*should be called during the form's activate method*/ 	com_Chart1.PaneWidth(false,0);
		com_Chart1.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Chart1.LevelCount(2);
		com_Chart1.UnitScale(4096/*exDay*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1266
It is possible to use seconds/minutes/hours as time scale in your control
public void init()
{
	COM com_Chart,com_Level;
	anytype var_Chart,var_Level;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Chart.LevelCount(4);
		var_Level = COM::createFromObject(com_Chart.Level(0)); com_Level = var_Level;
		com_Level.Label(COMVariant::createFromInt(4096));
		var_Level = COM::createFromObject(com_Chart.Level(1)); com_Level = var_Level;
		com_Level.Label(COMVariant::createFromInt(65536));
		var_Level = COM::createFromObject(com_Chart.Level(2)); com_Level = var_Level;
		com_Level.Label(COMVariant::createFromInt(1048576));
		var_Level = com_Chart.Level(3); com_Level = var_Level;
			com_Level.Count(15);
			com_Level.Label(COMVariant::createFromInt(16777216));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1265
Is it possible to resize chart's column/level using the mouse as we can for the columns, but do not want to resize up to hours
public void init()
{
	COM com_Chart,com_InsideZoomFormat,com_InsideZooms,com_Items;
	anytype var_Chart,var_InsideZoomFormat,var_InsideZooms,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,32);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2008",213)));
		com_Chart.AllowInsideZoom(true);
		com_Chart.AllowResizeInsideZoom(true);
		com_Chart.InsideZoomOnDblClick(false);
		var_InsideZoomFormat = com_Chart.DefaultInsideZoomFormat(); com_InsideZoomFormat = var_InsideZoomFormat;
			com_InsideZoomFormat.OwnerLabel("<%d%>");
			com_InsideZoomFormat.InsideLabel("");
			com_InsideZoomFormat.InsideUnit(65536/*exHour*/);
			com_InsideZoomFormat.InsideCount(24);
			com_InsideZoomFormat.DrawTickLines(false);
			com_InsideZoomFormat.DrawGridLines(false);
		var_InsideZooms = com_Chart.InsideZooms(); com_InsideZooms = var_InsideZooms;
			com_InsideZooms.SplitBaseLevel(false);
			com_InsideZooms.DefaultWidth(18);
	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task"),"Task",COMVariant::createFromDate(str2Date("1/3/2008",213)),COMVariant::createFromDate(str2Date("1/8/2008",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,32);
}
*/
1264
Is it possible to resize chart's column/level using the mouse as we can for the columns
public void init()
{
	COM com_Chart,com_InsideZoomFormat,com_InsideZooms,com_Items;
	anytype var_Chart,var_InsideZoomFormat,var_InsideZooms,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,32);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2008",213)));
		com_Chart.AllowInsideZoom(true);
		com_Chart.AllowResizeInsideZoom(true);
		com_Chart.InsideZoomOnDblClick(false);
		var_InsideZoomFormat = com_Chart.DefaultInsideZoomFormat(); com_InsideZoomFormat = var_InsideZoomFormat;
			com_InsideZoomFormat.OwnerLabel("<%d%>");
			com_InsideZoomFormat.InsideLabel("");
			com_InsideZoomFormat.DrawTickLines(false);
			com_InsideZoomFormat.DrawGridLines(false);
		var_InsideZooms = com_Chart.InsideZooms(); com_InsideZooms = var_InsideZooms;
			com_InsideZooms.SplitBaseLevel(false);
			com_InsideZooms.DefaultWidth(18);
	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task"),"Task",COMVariant::createFromDate(str2Date("1/3/2008",213)),COMVariant::createFromDate(str2Date("1/8/2008",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,32);
}
*/
1263
How can I empty or clear the undo/redo queue
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowUndoRedo(true);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.AllowLinkBars(true);
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/25/2005",213)),"");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/2/2005",213)),"");
		print( exg2antt1.Chart().UndoListAction() );
		print( "Clear undo/redo queue" );
		exg2antt1.Chart().AllowUndoRedo(false);
		exg2antt1.Chart().AllowUndoRedo(true);
		print( exg2antt1.Chart().UndoListAction() );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1262
How can I remove the undo/redo queue
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowUndoRedo(true);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.AllowLinkBars(true);
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/25/2005",213)),"");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/2/2005",213)),"");
		print( exg2antt1.Chart().UndoListAction() );
		print( "Clear undo/redo queue" );
		exg2antt1.Chart().UndoRemoveAction();
		exg2antt1.Chart().RedoRemoveAction();
		print( exg2antt1.Chart().UndoListAction() );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1261
Is it possible to prevent adding an undo operation for instance the RemoveLink(LinkKey) I call during the AddLink event
// AddLink event - Occurs when the user links two bars using the mouse.
void onEvent_AddLink(str   _LinkKey)
{
	;
	exg2antt1.Items().RemoveLink(_LinkKey);
	exg2antt1.Chart().UndoRemoveAction(COMVariant::createFromInt(10),COMVariant::createFromInt(1));
	exg2antt1.Chart().UndoRemoveAction(COMVariant::createFromInt(11),COMVariant::createFromInt(1));
	print( exg2antt1.Chart().UndoListAction() );
}

// ChartEndChanging event - Occurs after the chart has been changed.
void onEvent_ChartEndChanging(int   _Operation)
{
	;
	print( exg2antt1.Chart().UndoListAction() );
}

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowUndoRedo(true);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.AllowLinkBars(true);
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/25/2005",213)),"");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/2/2005",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1260
Is it possible to rename the links from "Link1" to my choice
// AddLink event - Occurs when the user links two bars using the mouse.
void onEvent_AddLink(str   _LinkKey)
{
	;
	exg2antt1.Items().Link(_LinkKey,259/*exLinkKey*/,"newIDlink");
}

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	print( exg2antt1.Chart().LinkFromPoint(-1,-1) );
}

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.AllowLinkBars(true);
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/25/2005",213)),"");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/2/2005",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1259
How can I prevent highlighting the column from the cursor - point

public void init()
{
	str var_s;
	;

	super();

	var_s = "gBFLBCJwBAEHhEJAEGg4BI0IQAAYAQGKIYBkAKBQAGaAoDDUOQzQwAAxDKKUEwsACEIrjKCYVgOHYYRrIMYgBCMJhLEoaZLhEZRQiqDYtRDFQBSDDcPw/EaRZohGaYJg";
	var_s = var_s + "EgI=";
	exg2antt1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s));
	exg2antt1.Background(32/*exCursorHoverColumn*/,0x1000000);
	COM::createFromVariant(exg2antt1.Columns().Add("S")).Width(32);
	COM::createFromVariant(exg2antt1.Columns().Add("Level 1")).LevelKey(COMVariant::createFromInt(1));
	COM::createFromVariant(exg2antt1.Columns().Add("Level 2")).LevelKey(COMVariant::createFromInt(1));
	COM::createFromVariant(exg2antt1.Columns().Add("Level 3")).LevelKey(COMVariant::createFromInt(1));
	COM::createFromVariant(exg2antt1.Columns().Add("E1")).Width(32);
	COM::createFromVariant(exg2antt1.Columns().Add("E2")).Width(32);
	COM::createFromVariant(exg2antt1.Columns().Add("E3")).Width(32);
	COM::createFromVariant(exg2antt1.Columns().Add("E4")).Width(32);
}
1258
Is it possible to specify the background color for the item in the chart part only
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h,hC;
	;

	super();

	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		hC = com_Items.InsertItem(h,,"Child 1");
		exg2antt1.Chart().ItemBackColor(hC,WinApi::RGB2int(255,0,0));
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
}
1257
Is it possible to apply different visual appearance, color, sizes for item in the list and chart part

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h,hC;
	;

	super();

	exg2antt1.VisualAppearance().Add(1,"c:\\exontrol\\images\\normal.ebn");
	exg2antt1.VisualAppearance().Add(2,"c:\\exontrol\\images\\pushed.ebn");
	exg2antt1.VisualAppearance().Add(3,"CP:2 2 2 -2 -2");
	exg2antt1.Columns().Add("Default");
	exg2antt1.SelBackMode(1/*exTransparent*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		hC = com_Items.InsertItem(h,,"Child 1");
		com_Items.ItemBackColor(hC,0x1ffff00);
		exg2antt1.Chart().ItemBackColor(hC,0x300ff00);
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
}
1256
How do I change the visual appearance for the entire item, using your EBN technology

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h,hC;
	;

	super();

	exg2antt1.VisualAppearance().Add(1,"c:\\exontrol\\images\\normal.ebn");
	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		hC = com_Items.InsertItem(h,,"Child 1");
		com_Items.ItemBackColor(hC,0x1000000);
		exg2antt1.Chart().ItemBackColor(hC,0x1000000);
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
}
1255
is it possible to specify the a different background color for the item, list and chart part

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h,hC;
	;

	super();

	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		hC = com_Items.InsertItem(h,,"Child 1");
		com_Items.ItemBackColor(hC,WinApi::RGB2int(255,0,0));
		exg2antt1.Chart().ItemBackColor(hC,WinApi::RGB2int(255,255,0));
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
}
1254
Is it possible to specify the background color for the entire row, including the chart part

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h,hC;
	;

	super();

	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		hC = com_Items.InsertItem(h,,"Child 1");
		com_Items.ItemBackColor(hC,WinApi::RGB2int(255,0,0));
		exg2antt1.Chart().ItemBackColor(hC,WinApi::RGB2int(255,0,0));
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
}
1253
Is it possible to prevent overlaying the bars while moving or resizing the bars, so they get arranged once the bar is moved or resized
public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.Columns().Add("Task");
	exg2antt1.DrawGridLines(1/*exHLines*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.OverlaidOnMoving(false);
		com_Chart.DrawGridLines(1/*exHLines*/);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.AllowLinkBars(false);
		com_Chart.ResizeUnitScale(65536/*exHour*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.OverlaidType(515/*exOverlaidBarsStackAutoArrange | exOverlaidBarsStack*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("");
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/7/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"A1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"A3");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1252
Is it possible display numbers in the same format no matter of regional settings in the control panel
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	COM::createFromVariant(exg2antt1.Columns().Add("Def")).Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem(COMVariant::createFromReal(100000.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '') +  ' <fgcolor=808080>(default positive)'");
		h = com_Items.AddItem(COMVariant::createFromReal(100000.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '2|.|3|,|1|1')");
		h = com_Items.AddItem(COMVariant::createFromReal(-100000.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '') +  ' <fgcolor=808080>(default negative)'");
		h = com_Items.AddItem(COMVariant::createFromReal(-100000.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '2|.|3|,|1|1')");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1251
Is it possible to add a 0 for numbers less than 1 instead .7 to show 0.8
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	COM::createFromVariant(exg2antt1.Columns().Add("Def")).Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem(COMVariant::createFromReal(0.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '') +  ' <fgcolor=808080>(default)'");
		h = com_Items.AddItem(COMVariant::createFromReal(0.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '|||||0') +  ' <fgcolor=808080>(Display no leading zeros)'");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1250
How can I specify the format for negative numbers
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	COM::createFromVariant(exg2antt1.Columns().Add("Def")).Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem(COMVariant::createFromReal(-100000.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '') +  ' <fgcolor=808080>(default)'");
		h = com_Items.AddItem(COMVariant::createFromReal(-100000.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '||||1') +  ' <fgcolor=808080>(Negative sign, number; for example, -1.1)'");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1249
Is it possible to change the grouping character when display numbers
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	COM::createFromVariant(exg2antt1.Columns().Add("Def")).Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem(COMVariant::createFromReal(100000.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '') +  ' <fgcolor=808080>(default)'");
		h = com_Items.AddItem(COMVariant::createFromReal(100000.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '|||-') +  ' <fgcolor=808080>(grouping character is -)'");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1248
How can I display numbers with 2 digits in each group
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	COM::createFromVariant(exg2antt1.Columns().Add("Def")).Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem(COMVariant::createFromReal(100000.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '') +  ' <fgcolor=808080>(default)'");
		h = com_Items.AddItem(COMVariant::createFromReal(100000.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '||2') +  ' <fgcolor=808080>(grouping by 2 digits)'");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1247
How can I display my numbers using a different decimal separator
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	COM::createFromVariant(exg2antt1.Columns().Add("Def")).Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem(COMVariant::createFromReal(100.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '') +  ' <fgcolor=808080>(default)'");
		h = com_Items.AddItem(COMVariant::createFromReal(100.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '|;') +  ' <fgcolor=808080>(decimal separator is <b>;</b>)'");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1246
Is it possible to display the numbers using 3 (three) digits
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	COM::createFromVariant(exg2antt1.Columns().Add("Def")).Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem(COMVariant::createFromReal(100.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '') +  ' <fgcolor=808080>(default)'");
		h = com_Items.AddItem(COMVariant::createFromReal(100.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format '3') +  ' <fgcolor=808080>(3 digits)'");
		h = com_Items.AddItem(COMVariant::createFromReal(100.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format 2) +  '  <fgcolor=808080>(2 digits)'");
		h = com_Items.AddItem(COMVariant::createFromReal(100.27));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"(value format 1) +  ' <fgcolor=808080>(1 digit)'");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1245
Is it possible to format numbers

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Columns,com_Editor,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Columns,var_Editor,var_Items;
	int h,h1;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.MarkSearchColumn(false);
	exg2antt1.SelBackColor(exg2antt1.BackColor());
	exg2antt1.SelForeColor(exg2antt1.ForeColor());
	exg2antt1.ShowFocusRect(true);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Name");
		var_Column = COM::createFromVariant(com_Columns.Add("A")); com_Column = var_Column;
			com_Column.SortType(1/*SortNumeric*/);
			com_Column.AllowSizing(false);
			com_Column.Width(36);
			com_Column.FormatColumn("len(value) ? value + ' +'");
			var_Editor = COM::createFromObject(com_Column.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
		var_Column1 = COM::createFromVariant(com_Columns.Add("B")); com_Column1 = var_Column1;
			com_Column1.SortType(1/*SortNumeric*/);
			com_Column1.AllowSizing(false);
			com_Column1.Width(36);
			com_Column1.FormatColumn("len(value) ? value + ' +'");
			var_Editor = COM::createFromObject(com_Column1.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
		var_Column2 = COM::createFromVariant(com_Columns.Add("C")); com_Column2 = var_Column2;
			com_Column2.SortType(1/*SortNumeric*/);
			com_Column2.AllowSizing(false);
			com_Column2.Width(36);
			com_Column2.FormatColumn("len(value) ? value + ' ='");
			var_Editor = COM::createFromObject(com_Column2.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
		var_Column3 = COM::createFromVariant(com_Columns.Add("A+B+C")); com_Column3 = var_Column3;
			com_Column3.SortType(1/*SortNumeric*/);
			com_Column3.Width(64);
			com_Column3.ComputedField("dbl(%1)+dbl(%2)+dbl(%3)");
			var_s = "type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=000";
			var_s = var_s + "0FF>+'+(value format '2|.|3|,' ): '0.00') )";
			com_Column3.FormatColumn(var_s);
			com_Column3.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.CellValueFormat(h,COMVariant::createFromInt(4),2/*exComputedField*/);
		h1 = com_Items.InsertItem(h,,"Child 1");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromInt(7));
		com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromInt(3));
		com_Items.CellValue(h1,COMVariant::createFromInt(3),COMVariant::createFromInt(1));
		h1 = com_Items.InsertItem(h,,"Child 2");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromInt(-2));
		com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromInt(-2));
		com_Items.CellValue(h1,COMVariant::createFromInt(3),COMVariant::createFromInt(-4));
		h1 = com_Items.InsertItem(h,,"Child 3");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromInt(2));
		com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromInt(2));
		com_Items.CellValue(h1,COMVariant::createFromInt(3),COMVariant::createFromInt(-4));
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1244
How can I show the tooltip programmatically ( I want to be able to set the tooltip content dynamically just before the tooltip start to appear, not using the exBarTooltip )
// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	exg2antt1.ShowToolTip(exg2antt1.Chart().BarFromPoint(-1,-1),"",COMVariant::createFromInt(2),"4","-4");
}

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/8/2010",213)),COMVariant::createFromDate(str2Date("1/11/2010",213)),"C","C");
		com_Items.GroupBars(h,"A",false,h,"B",true,COMVariant::createFromInt(39));
		com_Items.GroupBars(h,"B",false,h,"C",true,COMVariant::createFromInt(39));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1243
How can I set the column's width to my desired width
public void init()
{
	COM com_Columns;
	anytype var_Columns;
	;

	super();

	exg2antt1.ColumnAutoResize(false);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("A")).Width(128);
		COM::createFromVariant(com_Columns.Add("B")).Width(128);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
}
1242
Is it possible to prevent intersection of three bars or more

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/8/2010",213)),COMVariant::createFromDate(str2Date("1/11/2010",213)),"C","C");
		com_Items.GroupBars(h,"A",false,h,"B",true,COMVariant::createFromInt(39));
		com_Items.GroupBars(h,"B",false,h,"C",true,COMVariant::createFromInt(39));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1241
Is it possible to prevent intersection of two bars

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
		com_Items.GroupBars(h,"A",false,h,"B",true,COMVariant::createFromInt(39));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1240
Is it possible to specify the cell's value but still want to display some formatted text instead the value
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.Columns().Add("Value");
	exg2antt1.Columns().Add("FormatCell");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem(COMVariant::createFromInt(1));
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(12));
		com_Items.FormatCell(h,COMVariant::createFromInt(1),"currency(value)");
		h = com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Items.CellValueFormat(h,COMVariant::createFromInt(1),1/*exHTML*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(1),"longdate(value) replace '2001' with '<b>2001</b>'");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1239
How can I simulate displaying groups

public void init()
{
	COM com_Columns,com_Items;
	anytype var_Columns,var_Items;
	int h,h1;
	;

	super();

	exg2antt1.HasLines(0/*exNoLine*/);
	exg2antt1.ScrollBySingleLine(true);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Name");
		com_Columns.Add("A");
		com_Columns.Add("B");
		com_Columns.Add("C");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Group 1");
		com_Items.CellHAlignment(h,COMVariant::createFromInt(0),1/*CenterAlignment*/);
		com_Items.ItemDivider(h,0);
		com_Items.ItemDividerLineAlignment(h,3/*DividerBoth*/);
		com_Items.ItemHeight(h,24);
		com_Items.SortableItem(h,false);
		h1 = com_Items.InsertItem(h,,"Child 1");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromInt(1));
		com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromInt(2));
		com_Items.CellValue(h1,COMVariant::createFromInt(3),COMVariant::createFromInt(3));
		h1 = com_Items.InsertItem(h,,"Child 2");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromInt(4));
		com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromInt(5));
		com_Items.CellValue(h1,COMVariant::createFromInt(3),COMVariant::createFromInt(6));
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Group 2");
		com_Items.CellHAlignment(h,COMVariant::createFromInt(0),1/*CenterAlignment*/);
		com_Items.ItemDivider(h,0);
		com_Items.ItemDividerLineAlignment(h,3/*DividerBoth*/);
		com_Items.ItemHeight(h,24);
		com_Items.SortableItem(h,false);
		h1 = com_Items.InsertItem(h,,"Child 1");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromInt(1));
		com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromInt(2));
		com_Items.CellValue(h1,COMVariant::createFromInt(3),COMVariant::createFromInt(3));
		h1 = com_Items.InsertItem(h,,"Child 2");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromInt(4));
		com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromInt(5));
		com_Items.CellValue(h1,COMVariant::createFromInt(3),COMVariant::createFromInt(6));
		com_Items.ExpandItem(h,true);
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1238
Is it possible to specify the cell's value but still want to display some formatted text instead the value

public void init()
{
	COM com_Column,com_Columns,com_Items;
	anytype var_Column,var_Columns,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.MarkSearchColumn(false);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Name");
		var_Column = COM::createFromVariant(com_Columns.Add("Values")); com_Column = var_Column;
			com_Column.SortType(1/*SortNumeric*/);
			com_Column.AllowSizing(false);
			com_Column.Width(64);
			com_Column.FormatColumn("((0:=dbl(value)) < 10? '<fgcolor=808080><font ;7>' :'<b>') + currency(=:0)");
			com_Column.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.FormatCell(h,COMVariant::createFromInt(1),"'<none>'");
		com_Items.CellValue(com_Items.InsertItem(h,,"Child 1"),COMVariant::createFromInt(1),COMVariant::createFromInt(10));
		com_Items.CellValue(com_Items.InsertItem(h,,"Child 2"),COMVariant::createFromInt(1),COMVariant::createFromInt(15));
		com_Items.CellValue(com_Items.InsertItem(h,,"Child 3"),COMVariant::createFromInt(1),COMVariant::createFromInt(25));
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1237
I am using the FormatColumn to display the current currency, but would like hide some values. Is it possible

public void init()
{
	COM com_Column,com_Columns,com_Items;
	anytype var_Column,var_Columns,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.MarkSearchColumn(false);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Name");
		var_Column = COM::createFromVariant(com_Columns.Add("Values")); com_Column = var_Column;
			com_Column.SortType(1/*SortNumeric*/);
			com_Column.AllowSizing(false);
			com_Column.Width(64);
			com_Column.FormatColumn("((0:=dbl(value)) < 10? '<fgcolor=808080><font ;7>' :'<b>') + currency(=:0)");
			com_Column.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.FormatCell(h,COMVariant::createFromInt(1)," ");
		com_Items.CellValue(com_Items.InsertItem(h,,"Child 1"),COMVariant::createFromInt(1),COMVariant::createFromInt(10));
		com_Items.CellValue(com_Items.InsertItem(h,,"Child 2"),COMVariant::createFromInt(1),COMVariant::createFromInt(15));
		com_Items.CellValue(com_Items.InsertItem(h,,"Child 3"),COMVariant::createFromInt(1),COMVariant::createFromInt(25));
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1236
I have a right-aligned column with check-boxes with no text, but it is not perfectly aligned. Is there something I can do
public void init()
{
	COM com_Column,com_Column1,com_Columns,com_Items;
	anytype var_Column,var_Column1,var_Columns,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.TreeColumnIndex(-1);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	exg2antt1.ShowFocusRect(false);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Default-Right")); com_Column = var_Column;
			com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column.Alignment(2/*RightAlignment*/);
			com_Column.HeaderAlignment(2/*RightAlignment*/);
		var_Column1 = COM::createFromVariant(com_Columns.Add("Custom-Right")); com_Column1 = var_Column1;
			com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column1.Def(34/*exCellDrawPartsOrder*/,"icon,icons,picture,caption,check");
			com_Column1.HeaderAlignment(2/*RightAlignment*/);
			com_Column1.Alignment(2/*RightAlignment*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem();
		com_Items.AddItem();
		com_Items.AddItem();
	exg2antt1.EndUpdate();
}
1235
How can I specify that once I move or resize a bar other should be automatically moved/resized
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.MarkSearchColumn(false);
	exg2antt1.Columns().Add("Tasks");
	COM::createFromVariant(exg2antt1.Columns().Add("Start")).Visible(false);
	COM::createFromVariant(exg2antt1.Columns().Add("End")).Visible(false);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromDate(str2Date("9/21/2006",213)));
		com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromDate(str2Date("9/24/2006",213)));
		com_Items.AddBar(h1,"Task",com_Items.CellValue(h1,COMVariant::createFromInt(1)),com_Items.CellValue(h1,COMVariant::createFromInt(2)),"");
		h2 = com_Items.AddItem("Item 2");
		com_Items.CellValue(h2,COMVariant::createFromInt(1),COMVariant::createFromDate(str2Date("9/21/2006",213)));
		com_Items.CellValue(h2,COMVariant::createFromInt(2),COMVariant::createFromDate(str2Date("9/24/2006",213)));
		com_Items.AddBar(h2,"Task",com_Items.CellValue(h2,COMVariant::createFromInt(1)),com_Items.CellValue(h2,COMVariant::createFromInt(2)),"");
		com_Items.GroupBars(h1,"",true,h2,"",true);
		com_Items.GroupBars(h1,"",false,h2,"",false);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,64);
}
*/
1234
How can I specify that once I move a bar other should be automatically moved
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.MarkSearchColumn(false);
	exg2antt1.Columns().Add("Tasks");
	COM::createFromVariant(exg2antt1.Columns().Add("Start")).Visible(false);
	COM::createFromVariant(exg2antt1.Columns().Add("End")).Visible(false);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromDate(str2Date("9/21/2006",213)));
		com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromDate(str2Date("9/24/2006",213)));
		com_Items.AddBar(h1,"Task",com_Items.CellValue(h1,COMVariant::createFromInt(1)),com_Items.CellValue(h1,COMVariant::createFromInt(2)),"");
		h2 = com_Items.AddItem("Item 2");
		com_Items.CellValue(h2,COMVariant::createFromInt(1),COMVariant::createFromDate(str2Date("9/21/2006",213)));
		com_Items.CellValue(h2,COMVariant::createFromInt(2),COMVariant::createFromDate(str2Date("9/24/2006",213)));
		com_Items.AddBar(h2,"Task",com_Items.CellValue(h2,COMVariant::createFromInt(1)),com_Items.CellValue(h2,COMVariant::createFromInt(2)),"");
		com_Items.GroupBars(h1,"",true,h2,"",true,COMVariant::createFromInt(3));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,64);
}
*/
1233
Is it possible to include the bar's caption in overlaying

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.Columns().Add("Task");
	exg2antt1.DrawGridLines(1/*exHLines*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(1/*exHLines*/);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.AllowLinkBars(false);
		com_Chart.ResizeUnitScale(65536/*exHour*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(4611/*exOverlaidBarsIncludeCaption | exOverlaidBarsStackAutoArrange | exOverlaidBarsStack*/);
			com_Bar.OverlaidGroup("Milestone");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1","task");
		com_Items.ItemBar(h,"A1",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
		com_Items.AddBar(h,"Milestone",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/3/2001",213)),"M","milestone");
		com_Items.ItemBar(h,"M",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"A1","task");
		com_Items.ItemBar(h,"A1",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
		com_Items.AddBar(h,"Milestone",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"M","milestone");
		com_Items.ItemBar(h,"M",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1232
Sometimes, the milestone bars are not overlaying the task bars. What I am doing wrong
public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.Columns().Add("Task");
	exg2antt1.DrawGridLines(1/*exHLines*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(1/*exHLines*/);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.AllowLinkBars(false);
		com_Chart.ResizeUnitScale(65536/*exHour*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(4611/*exOverlaidBarsIncludeCaption | exOverlaidBarsStackAutoArrange | exOverlaidBarsStack*/);
			com_Bar.OverlaidGroup("Milestone");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1");
		com_Items.AddBar(h,"Milestone",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/3/2001",213)),"M");
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/7/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"A1");
		com_Items.AddBar(h,"Milestone",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"M");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1231
Is it possible to add milestone bars in the same overlaid group as task is

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.Columns().Add("Task");
	exg2antt1.DrawGridLines(1/*exHLines*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(1/*exHLines*/);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.AllowLinkBars(false);
		com_Chart.ResizeUnitScale(65536/*exHour*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(515/*exOverlaidBarsStackAutoArrange | exOverlaidBarsStack*/);
			com_Bar.OverlaidGroup("Milestone");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1");
		com_Items.AddBar(h,"Milestone",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/3/2001",213)),"M");
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/7/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"A1");
		com_Items.AddBar(h,"Milestone",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"M");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1230
When adding a date column and setting the SortType to SortTypeEnum.SortDateTime, the column still sorts as a string. What am I doing wrong
public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	COM::createFromVariant(exg2antt1.Columns().Add("Date")).SortType(3/*SortDateTime*/);
	exg2antt1.Columns().Add("String");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Items.CellValue(h,COMVariant::createFromInt(1),com_Items.CellValue(h,COMVariant::createFromInt(0)));
		h = com_Items.AddItem(COMVariant::createFromDate(str2Date("1/11/2001",213)));
		com_Items.CellValue(h,COMVariant::createFromInt(1),com_Items.CellValue(h,COMVariant::createFromInt(0)));
		h = com_Items.AddItem(COMVariant::createFromDate(str2Date("1/2/2001",213)));
		com_Items.CellValue(h,COMVariant::createFromInt(1),com_Items.CellValue(h,COMVariant::createFromInt(0)));
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
	com_Column.SortOrder(2/*SortDescending*/);
	exg2antt1.EndUpdate();
}
1229
Is it possible to move an item from a parent to another
public void init()
{
	COM com_Items;
	anytype var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.Columns().Add("Items");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("A");
		com_Items.AddItem("B");
		com_Items.InsertItem(com_Items.AddItem("C"),"","D");
		com_Items.SetParent(com_Items.FindItem("D",COMVariant::createFromInt(0)),com_Items.FindItem("A",COMVariant::createFromInt(0)));
	exg2antt1.EndUpdate();
}
1228
How can I change the identation for an item
public void init()
{
	COM com_Items;
	anytype var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.Columns().Add("Items");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("A");
		com_Items.AddItem("B");
		com_Items.InsertItem(com_Items.AddItem("C"),"","D");
		com_Items.SetParent(com_Items.FindItem("D",COMVariant::createFromInt(0)),0);
	exg2antt1.EndUpdate();
}
1227
Moving the bars fail if I am using GroupBars, exBarCanResize on 0 and exBarKeepWorkingCount on True ( bars keeps the working units and at runtime user can not resize them ). Is it possible to use the GroupBars while user should not be able to resize the bars at runtime

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Task:Split"); com_Bar = var_Bar;
		com_Bar.Shortcut("Task");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","A");
		com_Items.ItemBar(h1,"",20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
		com_Items.ItemBar(h1,"",10/*exBarCanResize*/,COMVariant::createFromInt(4));
		com_Items.AddItem("");
		com_Items.AddItem("");
		com_Items.AddItem("");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","B");
		com_Items.ItemBar(h2,"",20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
		com_Items.ItemBar(h2,"",10/*exBarCanResize*/,COMVariant::createFromInt(4));
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.Link("L1",6/*exLinkStartPos*/,COMVariant::createFromInt(2));
		com_Items.Link("L1",7/*exLinkEndPos*/,COMVariant::createFromInt(0));
		com_Items.Link("L1",12/*exLinkText*/,"exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitInterval + exLimitIntervalTreatAsWorking");
		com_Items.GroupBars(h1,"",false,h2,"",true,COMVariant::createFromInt(95),"2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1226
How can I collapse all items
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.Columns().Add("Items");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(0,false);
	exg2antt1.EndUpdate();
}
1225
How can I expand all items
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.Columns().Add("Items");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(0,true);
	exg2antt1.EndUpdate();
}
1224
How can I specify the distance between bars to be in a specified range of working units

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Task:Split"); com_Bar = var_Bar;
		com_Bar.Shortcut("Task");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","A");
		com_Items.AddItem("");
		com_Items.AddItem("");
		com_Items.AddItem("");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","B");
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.Link("L1",6/*exLinkStartPos*/,COMVariant::createFromInt(2));
		com_Items.Link("L1",7/*exLinkEndPos*/,COMVariant::createFromInt(0));
		com_Items.Link("L1",12/*exLinkText*/,"exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitInterval+exLimitIntervalTreatAsWorking");
		com_Items.GroupBars(h1,"",false,h2,"",true,COMVariant::createFromInt(95),"0;1;5");
		com_Items.ItemBar(0,"<*>",20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1223
How can I specify the distance between bars to be in a specified range

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","A");
		com_Items.AddItem("");
		com_Items.AddItem("");
		com_Items.AddItem("");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","B");
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.Link("L1",6/*exLinkStartPos*/,COMVariant::createFromInt(2));
		com_Items.Link("L1",7/*exLinkEndPos*/,COMVariant::createFromInt(0));
		com_Items.Link("L1",12/*exLinkText*/,"exPreserveBarLength + exIgnoreOriginalInterval + exLimitInterval");
		com_Items.GroupBars(h1,"",false,h2,"",true,COMVariant::createFromInt(31),"0;1;7");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1222
How can I specify the distance between bars to be no more than a specified value in working units

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Task:Split"); com_Bar = var_Bar;
		com_Bar.Shortcut("Task");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","A");
		com_Items.AddItem("");
		com_Items.AddItem("");
		com_Items.AddItem("");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","B");
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.Link("L1",6/*exLinkStartPos*/,COMVariant::createFromInt(2));
		com_Items.Link("L1",7/*exLinkEndPos*/,COMVariant::createFromInt(0));
		com_Items.Link("L1",12/*exLinkText*/,"exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitInterval+exLimitIntervalTreatAsWorking");
		com_Items.GroupBars(h1,"",false,h2,"",true,COMVariant::createFromInt(95),"0;0;2");
		com_Items.ItemBar(0,"<*>",20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1221
How can I specify the distance between bars to be no more than a specified value

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","A");
		com_Items.AddItem("");
		com_Items.AddItem("");
		com_Items.AddItem("");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","B");
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.Link("L1",6/*exLinkStartPos*/,COMVariant::createFromInt(2));
		com_Items.Link("L1",7/*exLinkEndPos*/,COMVariant::createFromInt(0));
		com_Items.Link("L1",12/*exLinkText*/,"exPreserveBarLength + exIgnoreOriginalInterval + exLimitInterval");
		com_Items.GroupBars(h1,"",false,h2,"",true,COMVariant::createFromInt(31),"0;0;2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1220
How can I specify the distance between bars to be no less than a specified value in working units

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Task:Split"); com_Bar = var_Bar;
		com_Bar.Shortcut("Task");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","A");
		com_Items.AddItem("");
		com_Items.AddItem("");
		com_Items.AddItem("");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","B");
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.Link("L1",6/*exLinkStartPos*/,COMVariant::createFromInt(2));
		com_Items.Link("L1",7/*exLinkEndPos*/,COMVariant::createFromInt(0));
		com_Items.Link("L1",12/*exLinkText*/,"exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitIntervalMin + exLimitIntervalTreatAsWorking");
		com_Items.GroupBars(h1,"",false,h2,"",true,COMVariant::createFromInt(79),"2");
		com_Items.ItemBar(0,"<*>",20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1219
How can I specify the distance between bars to be no less than a specified value

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","A");
		com_Items.AddItem("");
		com_Items.AddItem("");
		com_Items.AddItem("");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","B");
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.Link("L1",6/*exLinkStartPos*/,COMVariant::createFromInt(2));
		com_Items.Link("L1",7/*exLinkEndPos*/,COMVariant::createFromInt(0));
		com_Items.Link("L1",12/*exLinkText*/,"exPreserveBarLength + exIgnoreOriginalInterval + exLimitIntervalMin");
		com_Items.GroupBars(h1,"",false,h2,"",true,COMVariant::createFromInt(15),"2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1218
How do I specify the distance between bars to be exactly the specified value in working units

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Task:Split"); com_Bar = var_Bar;
		com_Bar.Shortcut("Task");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","A");
		com_Items.AddItem("");
		com_Items.AddItem("");
		com_Items.AddItem("");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","B");
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.Link("L1",6/*exLinkStartPos*/,COMVariant::createFromInt(2));
		com_Items.Link("L1",7/*exLinkEndPos*/,COMVariant::createFromInt(0));
		com_Items.Link("L1",12/*exLinkText*/,"exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitInterval + exLimitIntervalTreatAsWorking");
		com_Items.GroupBars(h1,"",false,h2,"",true,COMVariant::createFromInt(95),"2");
		com_Items.ItemBar(0,"<*>",20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1217
How do I specify the distance between bars to be exactly the specified value

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","A");
		com_Items.AddItem("");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Unknown",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","B");
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.Link("L1",6/*exLinkStartPos*/,COMVariant::createFromInt(2));
		com_Items.Link("L1",7/*exLinkEndPos*/,COMVariant::createFromInt(0));
		com_Items.Link("L1",12/*exLinkText*/,"exPreserveBarLength + exIgnoreOriginalInterval");
		com_Items.GroupBars(h1,"",false,h2,"",true,COMVariant::createFromInt(7),"2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1216
How do I specify the day's duration to be working only
public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Add("Task:Split"); com_Bar = var_Bar;
	com_Bar.Shortcut("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"A");
		com_Items.ItemBar(h1,"A",20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1215
How do I specify the the user can't resize the bar at left side ( starting point )
public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Add("Task:Split"); com_Bar = var_Bar;
	com_Bar.Shortcut("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"A","not resizable on left");
		com_Items.ItemBar(h1,"A",20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1214
How do I specify the the user can't resize the bar at left side ( starting point )
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"A","not resizable on left");
		com_Items.ItemBar(h1,"A",10/*exBarCanResize*/,COMVariant::createFromInt(2));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1213
How do I specify the the user can't resize the bar at right side ( ending point )
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"A","not resizable on right");
		com_Items.ItemBar(h1,"A",10/*exBarCanResize*/,COMVariant::createFromInt(1));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1212
How do I specify the the user can't resize the bar at runtime
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"A","not resizable");
		com_Items.ItemBar(h1,"A",10/*exBarCanResize*/,COMVariant::createFromBoolean(false));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1211
How do I specify the day's duration to be at least a specified length
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"A","> 2 Days");
		com_Items.ItemBar(h1,"A",36/*exBarMinDuration*/,COMVariant::createFromInt(2));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1210
How do I specify the day's duration to be maximum a specified length
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"A","< 3 Days");
		com_Items.ItemBar(h1,"A",37/*exBarMaxDuration*/,COMVariant::createFromInt(3));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1209
I am trying to construct a timeline that is not date specific. My timeline starts at T=00:00:00 and then increases by 5 seconds. Is it possible

public void init()
{
	COM com_Chart,com_Level;
	anytype var_Chart,var_Level;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.FirstVisibleDate(COMVariant::createFromInt(0));
		com_Chart.UnitWidth(48);
		com_Chart.NonworkingDays(0);
		var_Level = com_Chart.Level(0); com_Level = var_Level;
			com_Level.Label("<%hh%>:<%nn%>:<%ss%>");
			com_Level.Unit(16777216/*exSecond*/);
			com_Level.Count(5);
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1208
How can I specify the levels using the user's Regional and Language Options

public void init()
{
	COM com_Chart,com_Level,com_Level1;
	anytype var_Chart,var_Level,var_Level1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Font().Name("Arial Unicode MS");
	exg2antt1.HeaderHeight(36);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("5/30/2010",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.FirstWeekDay(1/*exMonday*/);
		com_Chart.UnitWidth(36);
		com_Chart.LevelCount(2);
		var_Level = com_Chart.Level(0); com_Level = var_Level;
			com_Level.Label("<b><%loc_mmmm%></b> <%yyyy%><br><%loc_sdate%><r> <%ww%> ");
			com_Level.ToolTip(com_Level.Label());
			com_Level.Unit(256/*exWeek*/);
		var_Level1 = com_Chart.Level(1); com_Level1 = var_Level1;
			com_Level1.Label("<%loc_ddd%><br><%d%>");
			com_Level1.ToolTip(com_Level1.Label());
		com_Chart.ToolTip("<%loc_ldate%>");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1207
How do I arrange, format or layout the item on multiple levels or lines, as a subform

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Column5,com_Column6,com_Columns,com_Editor,com_Editor1,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6,var_Columns,var_Editor,var_Editor1,var_Items;
	int h0;
	str var_s,var_s1;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	exg2antt1.Images(COMVariant::createFromStr(var_s));
	exg2antt1.DrawGridLines(-2/*exRowLines*/);
	exg2antt1.HeaderVisible(0/*exHeaderHidden*/);
	exg2antt1.ItemsAllowSizing(-1/*exResizeItem*/);
	exg2antt1.MarkSearchColumn(0);
	exg2antt1.ScrollBySingleLine(-1);
	exg2antt1.BackColor(WinApi::RGB2int(255,255,255));
	exg2antt1.SelBackColor(WinApi::RGB2int(255,255,255));
	exg2antt1.SelForeColor(0x80000012);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("");
		var_Column = COM::createFromVariant(com_Columns.Add("Column")); com_Column = var_Column;
			com_Column.Visible(false);
			var_Editor = COM::createFromObject(com_Column.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(1/*EditType*/);
		var_Column1 = COM::createFromVariant(com_Columns.Add("Column")); com_Column1 = var_Column1;
			com_Column1.Visible(false);
			var_Editor = COM::createFromObject(com_Column1.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(2/*DropDownType*/);
		var_Column2 = COM::createFromVariant(com_Columns.Add("Column")); com_Column2 = var_Column2;
			com_Column2.Visible(false);
			var_Editor = COM::createFromObject(com_Column2.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(2/*DropDownType*/);
		var_Column3 = COM::createFromVariant(com_Columns.Add("Column")); com_Column3 = var_Column3;
			com_Column3.Visible(false);
			var_Editor = com_Column3.Editor(); com_Editor = var_Editor;
				com_Editor.EditType(19/*CheckValueType*/);
				com_Editor.Option(17/*exCheckValue2*/,COMVariant::createFromInt(1));
		var_Column4 = COM::createFromVariant(com_Columns.Add("Column")); com_Column4 = var_Column4;
			com_Column4.Visible(false);
			var_Editor1 = COM::createFromObject(com_Column4.Editor()); com_Editor1 = var_Editor1;
			com_Editor1.EditType(7/*DateType*/);
		COM::createFromVariant(com_Columns.Add("Column")).Visible(false);
		var_Column5 = COM::createFromVariant(com_Columns.Add("Column")); com_Column5 = var_Column5;
			com_Column5.Visible(false);
			var_Editor1 = COM::createFromObject(com_Column5.Editor()); com_Editor1 = var_Editor1;
			com_Editor1.EditType(2/*DropDownType*/);
		var_Column6 = COM::createFromVariant(com_Columns.Add("Column")); com_Column6 = var_Column6;
			com_Column6.Visible(false);
			com_Column6.Def(16/*exCellSingleLine*/,COMVariant::createFromInt(0));
			var_Editor = com_Column6.Editor();
				com_Editor.EditType(5/*MemoType*/);
				com_Editor.ButtonWidth(17);
				com_Editor.Option(23/*exDownArrow*/,COMVariant::createFromInt(0));
				com_Editor.Option(25/*exEndKey*/,COMVariant::createFromInt(0));
				com_Editor.Option(24/*exHomeKey*/,COMVariant::createFromInt(0));
				com_Editor.Option(20/*exLeftArrow*/,COMVariant::createFromInt(0));
				com_Editor.Option(3/*exMemoAutoSize*/,COMVariant::createFromInt(0));
				com_Editor.Option(2/*exMemoVScrollBar*/,COMVariant::createFromInt(-1));
				com_Editor.Option(27/*exPageDownKey*/,COMVariant::createFromInt(0));
				com_Editor.Option(26/*exPageUpKey*/,COMVariant::createFromInt(0));
				com_Editor.Option(21/*exRightArrow*/,COMVariant::createFromInt(0));
				com_Editor.Option(22/*exUpArrow*/,COMVariant::createFromInt(0));
			com_Column6.Visible(0);
		COM::createFromVariant(com_Columns.Add("Column")).Visible(false);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h0 = com_Items.AddItem("");
		com_Items.CellValue(h0,COMVariant::createFromInt(9),"Dismiss");
		var_s1 = "12;\" \"[b=0][bg=RGB(248,248,248)]/(\" \"[b=0][bg=RGB(248,248,248)]:12,(1;\" \"[b=0]/(\" \"[b=0]:1,(25;(5;\" \"[b=0]/((\"Subject:\"[b=0]:80,";
		var_s1 = var_s1 + "(1;\" \"[b=0][bg=RGB(0,0,0)]/(\" \"[b=0][bg=RGB(0,0,0)]:1,(\" \"[b=0][bg=RGB(255,0,0)]:5,1[b=0]),\" \"[b=0][bg=RGB(0,0,0)]:1)/1;\" \"[b=0]";
		var_s1 = var_s1 + "[bg=RGB(0,0,0)]))/1;\" \"[b=0]))/20;(\"Location:\"[b=0]:80,(1;\" \"[b=0][bg=RGB(0,0,0)]/(\" \"[b=0][bg=RGB(0,0,0)]:1,2[b=0],\" \"[b=0][bg=";
		var_s1 = var_s1 + "RGB(0,0,0)]:1)/1;\" \"[b=0][bg=RGB(0,0,0)]),((\" \"[b=0]:10,\"Label:\"[b=0])):50,(1;\" \"[b=0][bg=RGB(0,0,0)]/(\" \"[b=0][bg=RGB(0,0,0)]:1";
		var_s1 = var_s1 + ",3[b=0],\" \"[b=0][bg=RGB(0,0,0)]:1)/1;\" \"[b=0][bg=RGB(0,0,0)]))/50;(10;\" \"[b=0]/(1;\" \"[b=0][bg=RGB(255,0,0)]/(\"Recurrence:\"[b=0]:";
		var_s1 = var_s1 + "80,\"Occurs every day effective 20/04/2007 from 01:00 to 01:01.\"[b=0])/1;\" \"[b=0][bg=RGB(255,0,0)])/10;\" \"[b=0])/23;(4[b=0]:20,\"R";
		var_s1 = var_s1 + "eminder:\"[b=0]:60,(1;\" \"[b=0][bg=RGB(0,0,0)]/(\" \"[b=0][bg=RGB(0,0,0)]:1,5[b=0],\" \"[b=0][bg=RGB(0,0,0)]:1)/1;\" \"[b=0][bg=RGB(0,0,";
		var_s1 = var_s1 + "0)]),((\" \"[b=0]:5,6[b=0])):30,((\" \"[b=0]:10,\"Show time as:\"[b=0])):90,(1;\" \"[b=0][bg=RGB(0,0,0)]/(\" \"[b=0][bg=RGB(0,0,0)]:1,7[b=";
		var_s1 = var_s1 + "0],\" \"[b=0][bg=RGB(0,0,0)]:1)/1;\" \"[b=0][bg=RGB(0,0,0)]))/(12;\" \"[b=0]/(1;\" \"[b=0][bg=RGB(0,0,0)]/(\" \"[b=0][bg=RGB(0,0,0)]:1,8[b";
		var_s1 = var_s1 + "=0],\" \"[b=0][bg=RGB(0,0,0)]:1)/1;\" \"[b=0][bg=RGB(0,0,0)]))/35;(5;\" \"[b=0]/(\" \"[b=0],\" \"[b=0],((\" \"[b=0]:40,9[b=0])))/5;\" \"[b=0])";
		var_s1 = var_s1 + "),\" \"[b=0]:1)/1;\" \"[b=0]),\" \"[b=0][bg=RGB(248,248,248)]:12)/12;\" \"[b=0][bg=RGB(248,248,248)]";
		com_Items.CellFormatLevel(h0,COMVariant::createFromInt(0),var_s1);
		com_Items.CellHasCheckBox(h0,COMVariant::createFromInt(4),-1);
		com_Items.CellHasButton(h0,COMVariant::createFromInt(9),-1);
		com_Items.CellHAlignment(h0,COMVariant::createFromInt(9),1/*CenterAlignment*/);
		com_Items.CellVAlignment(h0,COMVariant::createFromInt(8),0/*exTop*/);
		com_Items.CellForeColor(h0,COMVariant::createFromInt(8),WinApi::RGB2int(0,0,0));
		com_Items.CellHasButton(h0,COMVariant::createFromInt(6),true);
		com_Items.CellValue(h0,COMVariant::createFromInt(6),"<img>1</img>");
		com_Items.CellValueFormat(h0,COMVariant::createFromInt(6),1/*exHTML*/);
		com_Items.CellHAlignment(h0,COMVariant::createFromInt(6),1/*CenterAlignment*/);
		com_Items.ItemHeight(h0,296);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1206
How can I arrange the columns on multiple levels

public void init()
{
	COM com_Bar,com_Column,com_Column1,com_Columns,com_Items;
	anytype var_Bar,var_Column,var_Column1,var_Columns,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(48);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Title")).Visible(false);
		COM::createFromVariant(com_Columns.Add("FirstName")).Visible(false);
		COM::createFromVariant(com_Columns.Add("LastName")).Visible(false);
		COM::createFromVariant(com_Columns.Add("Photo")).Visible(false);
		var_Column = COM::createFromVariant(com_Columns.Add("Address")); com_Column = var_Column;
			com_Column.Visible(false);
			com_Column.Def(16/*exCellSingleLine*/,COMVariant::createFromBoolean(false));
		var_Column1 = COM::createFromVariant(com_Columns.Add("Personal Info")); com_Column1 = var_Column1;
			com_Column1.FormatLevel("3:48,(0/1/2),4:96");
			com_Column1.Def(32/*exCellFormatLevel*/,"3:48,(0/1/2),4:96");
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
	var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Item("Task"); com_Bar = var_Bar;
	com_Bar.OverlaidType(515/*exOverlaidBarsStackAutoArrange | exOverlaidBarsStack*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Sales Representative");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"Nancy");
		com_Items.CellValue(h,COMVariant::createFromInt(2),"Davolio");
		com_Items.CellPicture(h,COMVariant::createFromInt(3),COM::createFromVariant(exg2antt1.ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\zipdisk.gif`)")));
		com_Items.CellValue(h,COMVariant::createFromInt(4),"507-20th Ave. E.Apt.  2A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/1/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromInt(2),COMVariant::createFromInt(2));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),COMVariant::createFromInt(1),COMVariant::createFromInt(1));
	exg2antt1.EndUpdate();
}
1205
Is it possible to display a bar only using a gradient color using the exBarColor option

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/31/2009",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.StartColor(WinApi::RGB2int(255,255,255));
			com_Bar.EndColor(com_Bar.StartColor());
			com_Bar.Height(17);
	exg2antt1.Columns().Add("Types");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Original"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		h = com_Items.AddItem("W/h Gradient");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.ItemBar(h,"",42/*exBarPattern*/,COMVariant::createFromInt(227));
		h = com_Items.AddItem("W/h Color");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.ItemBar(h,"",42/*exBarPattern*/,COMVariant::createFromInt(227));
		com_Items.ItemBar(h,"",33/*exBarColor*/,COMVariant::createFromInt(255));
		com_Items.AddBar(com_Items.AddItem("Original"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
1204
Is it possible to display a bar only using a gradient color

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/31/2009",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.StartColor(WinApi::RGB2int(255,255,255));
			com_Bar.EndColor(com_Bar.StartColor());
			com_Bar.Height(17);
	exg2antt1.Columns().Add("Types");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Original"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		h = com_Items.AddItem("W/h Gradient");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.ItemBar(h,"",42/*exBarPattern*/,COMVariant::createFromInt(227));
		com_Items.AddBar(com_Items.AddItem("Original"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
1203
Is it possible to display a bar only using a gradient color

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/31/2009",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.StartColor(WinApi::RGB2int(255,255,255));
			com_Bar.EndColor(com_Bar.Color());
	exg2antt1.Columns().Add("Types");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Original"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		h = com_Items.AddItem("W/h Gradient");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.ItemBar(h,"",42/*exBarPattern*/,COMVariant::createFromInt(99));
		com_Items.AddBar(com_Items.AddItem("Original"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
1202
How can I display a specified bar only with a thicker border

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/31/2009",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
	exg2antt1.Columns().Add("Types");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Original"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		h = com_Items.AddItem("W/h Border");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.ItemBar(h,"",42/*exBarPattern*/,COMVariant::createFromInt(4099));
		com_Items.AddBar(com_Items.AddItem("Original"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
1201
Is it possible to display the shadow for a specified bar

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/31/2009",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
	exg2antt1.Columns().Add("Types");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Original"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		h = com_Items.AddItem("W/h Shadow");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.ItemBar(h,"",42/*exBarPattern*/,COMVariant::createFromInt(8195));
		com_Items.AddBar(com_Items.AddItem("Original"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/